#pragma once

#include <QBrush>
#include <QColor>
#include <QDebug>
#include <QDesktopServices>
#include <QDialog>
#include <QFont>
#include <QHeaderView>
#include <QMainWindow>
#include <QTableWidget>
#include <QTableWidgetItem>
#include <QTextEdit>
#include <QUrl>
#include <memory>
#include <string>
#include <vector>

#include "DataMgr.h"
#include "QBoxLayout"

class MainWindow;
class TagsDlg : public QDialog
{
    Q_OBJECT

public:
    TagsDlg(QWidget* parent = nullptr);

public:
public slots:
    void slotOK();
    void slotReset();

    std::vector<QWidget*> createOneRoot(const LuoGuTagRoot& root);

private:
    std::vector<QPushButton*> m_vecCFTag;
    std::vector<QPushButton*> m_vecLuoGuTag;
    DataMgr* m_dataMgr;
};
